using System;
using System.Collections;
using System.Collections.Generic;

namespace CodeBackpack.Plist
{
    [NoTestCoverage]
    internal abstract class MapBase<K, V> : IDictionary<K, V>
    {
        public virtual bool ContainsKey(K key)
        {
            throw new NotImplementedException();
        }

        public virtual void Add(K key, V value)
        {
            throw new NotImplementedException();
        }

        public virtual bool Remove(K key)
        {
            throw new NotImplementedException();
        }

        public virtual bool TryGetValue(K key, out V value)
        {
            throw new NotImplementedException();
        }

        public virtual V this[K key]
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public virtual ICollection<K> Keys
        {
            get { throw new NotImplementedException(); }
        }

        public virtual ICollection<V> Values
        {
            get { throw new NotImplementedException(); }
        }

        public virtual void Add(KeyValuePair<K, V> item)
        {
            throw new NotImplementedException();
        }

        public virtual void Clear()
        {
            throw new NotImplementedException();
        }

        public virtual bool Contains(KeyValuePair<K, V> item)
        {
            throw new NotImplementedException();
        }

        public virtual void CopyTo(KeyValuePair<K, V>[] array, int arrayIndex)
        {
            throw new NotImplementedException();
        }

        public virtual bool Remove(KeyValuePair<K, V> item)
        {
            throw new NotImplementedException();
        }

        public virtual int Count
        {
            get { throw new NotImplementedException(); }
        }

        public virtual bool IsReadOnly
        {
            get { throw new NotImplementedException(); }
        }

        public virtual IEnumerator<KeyValuePair<K, V>> GetEnumerator()
        {
            throw new NotImplementedException();
        }

        IEnumerator IEnumerable.GetEnumerator()
        {
            return (this as IEnumerable<KeyValuePair<K, V>>).GetEnumerator();
        }
    }
}